package org.yzhzc.friend.service.question;

import org.yzhzc.common.core.domain.TableDataInfo;
import org.yzhzc.friend.domain.question.dto.QuestionQueryDTO;
import org.yzhzc.friend.domain.question.vo.QuestionDetailVO;
import org.yzhzc.friend.domain.question.vo.QuestionVO;

import java.util.List;

/**
 * 题目服务接口。
 * 定义了与题目相关的业务方法，包括题目列表查询、热门题目查询、题目详情查询以及题目导航等。
 */
public interface IQuestionService {

    /**
     * 查询题目列表。
     *
     * @param questionQueryDTO 题目查询条件
     * @return 分页数据
     */
    TableDataInfo list(QuestionQueryDTO questionQueryDTO);

    /**
     * 查询热门题目列表。
     *
     * @return 热门题目列表
     */
    List<QuestionVO> hotList();

    /**
     * 查询题目详情。
     *
     * @param questionId 题目ID
     * @return 题目详情
     */
    QuestionDetailVO detail(Long questionId);

    /**
     * 获取当前题目的上一个题目ID。
     *
     * @param questionId 当前题目ID
     * @return 上一个题目ID
     */
    String preQuestion(Long questionId);

    /**
     * 获取当前题目的下一个题目ID。
     *
     * @param questionId 当前题目ID
     * @return 下一个题目ID
     */
    String nextQuestion(Long questionId);
}
